package com.sservice.model.dao;

import com.sservice.model.entity.InvoicePaper;
import com.sservice.model.vo.InvoicePaperBillVo;
import com.sservice.model.vo.InvoicePaperVo;

import java.util.List;

public interface InvoicePaperMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(InvoicePaper record);

    int insertSelective(InvoicePaper record);

    InvoicePaper selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(InvoicePaper record);

    int updateByPrimaryKey(InvoicePaper record);

    /**
     * @param record
     * @return
     */
    List<InvoicePaperVo> selectBy(InvoicePaper record);

    /**
     * 根据提单ID 获取 查看 对应发票
     * @param record#ladingId,record#orderType
     * @return
     */
    List<InvoicePaperVo> selectByLadingId(InvoicePaperVo record);

    /***
     * 采购收货单
     * @param record
     * @return
     */
    List<InvoicePaperBillVo> selectInvoiceBillBy(InvoicePaper record);

    /***
     * 其他发票
     * @param record
     * @return
     */
    List<InvoicePaperVo> selectOtherReceivablesBy(InvoicePaper record);

    /**
     * 发票列表
     * @param record
     * @return
     */
    List<InvoicePaperVo> queryByPage(InvoicePaperVo record);

    /**
     *  发票统计
     * @param record
     * @return
     */
    int countByPage(InvoicePaperVo record);
}